package com.wang.springbootinit.controller;

import com.wang.springbootinit.common.BaseResponse;
import com.wang.springbootinit.common.ResultUtils;
import com.wang.springbootinit.model.dto.GradeQueryDTO;
import com.wang.springbootinit.model.entity.Grade;
import com.wang.springbootinit.service.GradeService;
import com.wang.springbootinit.service.StudentService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.util.List;
import java.util.Map;

/**
 * 成绩管理控制器
 * 处理与学生成绩相关的请求
 */
@RestController
@RequestMapping("/grade")
public class GradeController {
    @Autowired
    private GradeService gradeService;

    /**
     * 获取当前登录学生的成绩信息
     * @param request HTTP请求对象，用于获取当前登录用户信息
     * @return 返回学生成绩列表
     */
    @GetMapping("/getCurrentStudentGrade")
    public BaseResponse<List<Grade>> getCurrentStudentGrade(GradeQueryDTO queryDTO, HttpServletRequest request) {
        return ResultUtils.success(gradeService.getCurrentStudentGrade(queryDTO,request));
    }

    /**
     * 获取成绩查询的选项信息（如学期列表等）
     * @param request HTTP请求对象，用于获取当前登录用户信息
     * @return 返回包含选项信息的Map，key为选项类型，value为选项列表
     */
    @GetMapping("/getOptions")
    public BaseResponse<Map<String, List<String>>> getSemesterOptions(HttpServletRequest request) {
        return ResultUtils.success(gradeService.getOptionsByCurrentUser(request));
    }
}
